The various embodiments described herein are applicable to a sequential data recording apparatus, such as a tape drive based on the linear tape-open (LTO) standard or a large tape drive targeted for enterprises (e.g., IBM 3592).
During operation of such tape drive, to cut waste in storage capacity, it is necessary to minimize an interval between data elements written on a tape in the longitudinal direction. In addition, a subsequent data element needs to be read immediately after a previous data element is read from the tape. To carry out such sequential writing/reading, the transport speed of the tape is reduced, the tape is temporarily stopped, and the tape is rewound in the reverse direction. Such rewinding moves the head back to the appropriate place for writing/reading, and the head performs motor-operated writing/reading with respect to the subsequent data element. A series of motor-driven operations for rewinding the tape is called a backhitch. A backhitch typically requires 2-3 seconds.
During a data read, a buffer of the tape drive may fill with data read from the tape when a data transfer rate from the tape to a buffer memory inside the tape drive (i.e., drive transfer rate) is higher than a data transfer rate from the buffer memory to a host (i.e., host transfer rate). In such case, once the buffer runs out of space to store subsequent data read from the tape, the tape drive must stop reading data from the tape. Once the tape drive stops reading, backhitching is performed to prepare for reading the subsequent data. Such backhitching results in overhead, thereby impeding data transfer to the host (i.e., host transfer).
Japanese Unexamined Patent Application No. 2006-318571 describes a technique for changing tape speed in accordance with a host transfer rate to avoid an impact on the performance of data transfer caused by a negative effect of backhitching on motion of the tape. The data transfer rate for writing/reading performed by the tape drive is uniquely determined by adjusting tape speed in accordance with the measured host transfer rate.
Specifically, during a data read, if the host transfer rate is lower than the drive transfer rate, data read from the tape accumulates in the buffer inside the tape drive. When the buffer becomes full of data read from the tape, even if more data is read from the tape, the read data cannot be transferred to the buffer. At such time, the tape drive produces a backhitch and begins moving the tape to the place immediately after the lastly read data. During the backhitch, the host continues to read data, and the tape drive continues to send the data stored in the buffer to the host. If the buffer becomes empty of data before completion of the backhitch, the host waits for transmission of subsequent data to the buffer after completion of the backhitch. Thus, the time required by the backhitch has a significant negative impact on the host transfer rate. Accordingly, the technique described in Japanese Unexamined Patent Application No. 2006-318571 adjusts the tape speed such that the drive transfer rate matches the host transfer rate as closely as possible. In accordance with this technique, the host transfer rate is measured inside the drive, and the tape speed is adjusted in response to such measurement. If the host continues to read data at a constant speed, the host transfer rate can be readily measured. However, this technique does not adequately address a case in which the host transfer rate significantly changes. Since the measurement varies depending on what point in time the host transfer rate is measured, and since it is unclear how the host will read data in the future, it is difficult to determine the best tape speed for a long time frame.
Japanese Unexamined Patent Application Publication (Translation of PCT Application) No. 2002-528835 describes a method for seamlessly changing the tape speed in accordance with the status of the buffer or the host transfer rate in order to prevent buffer overrun and buffer underrun. The method reduces the frequency of backhitches when the host transfer rate is constant or changes subtly. However, this method is not substantially beneficial if the host transfer rate significantly changes and/or a plurality of intermittent data transfers occur. Because synchronization of the host transfer rate and the drive transfer rate is always intended, an adverse reaction resulting in a backhitch may occur when the host transfer rate significantly changes (e.g., when data transfer to the host side temporarily halts).
Accordingly, with known techniques, overhead caused by occurrence of a backhitch cannot be reduced when the host transfer rate significantly changes (e.g., as a result of a plurality of intermittent read requests).